print(~2)
print(~-2)

#5 's 补码
print(5<<1) #5源码：0000 0101 补码：0000 0101
            #左移:  0000 1010 is 10

#-5 's 补码
print(-5 << 1) #-5源码：1000 0101 补码：1111 1011
                #左移：  1111 0110 源码：1000 1010 is -10

###########左移就是乘以2

print(5 >> 1)
#补0000 0101
#移0000 0010 ->2
print(-5 >> 1)
#原1000 0101
#补1111 1011
#移1111 1101
#原1000 0011 ->-3
#补位规则：符号位不动，空出的高位补上符号位的数字

##############右移相当于整除2（向下取整）